import request from '../request'
// 引入adminlist ejs
import adminListEjs from '$v/adminlist'
// adminTabel.ejs
import adminTableEjs from '$com/adminTable'
// 引入adminApi
import adminApi from '../api/adminApi'
async function getAdminList(){
    // 发送请求 获取adminList数据
    let {code, msg, data:{adminList}} = await adminApi.getAdminList()
    console.log(adminList);
    $('#adminTable').html(adminTableEjs({adminList}))
}

async function saveAdmin() {
    // 1. 获取表单信息
    let { adminName, password, rePassword } = document.adminForm;
    adminName = adminName.value.trim()
    password = password.value.trim()
    rePassword = rePassword.value.trim()
    // 2. 验证信息
    if (!adminName.length) {
        toastr.error('用户名不能为空')
        return
    } else if (!password.length) {
        toastr.error('密码不能为空')
        return
    } else if (!rePassword.length) {
        toastr.error('确认密码不能为空')
        return
    } else if (password !== rePassword) {
        toastr.error('两次密码不一致')
        return
    }
    // 3. 发送ajax请求
    // 语法 axios.post(url,请求体数据)
    let result = await adminApi.addAdmin({adminName,password,rePassword})
    let {msg, code}= result;
    if (code) {
        // 说明有错误
        toastr.error(msg)
        return;
    } else {
        toastr.success(msg)
        // 4. 成功后关闭模态框
        $('#modal-default').modal('hide');
        // 5. 清空表单数据
        document.adminForm.reset();
        // 6. 刷新管理员列表
        await getAdminList()
    }
}
function addBtn() {
    $('#modal-default').modal('show');
}
export default function adminController(){
    return async (req, res) => {
        res.render(adminListEjs())
        // 获取管理员列表
        await getAdminList()
        $('#titleShow').html('管理员列表');
        // 单击添加管理员按钮
        $('#addAdminBtn').click(addBtn)
        // 单击保存按钮执行
        $('#saveBtn').click(saveAdmin)
    }
}